1770 IF I$=CHR$(26) THEN GOSUB 2500:I$="":GOTO 1760
1780 LOCATE 19,16:PRINT TIME$
1790 X$=TIME$:CTH=2*R:CTV=CTH:IF NOT ATT THEN CTV=R
1800 IF X$<>OLDTIME$ THEN OLDX$=OLDTIME$:OLDTIME$=X$:GOSUB 720
1810 IF I$<>"" THEN GOSUB 1830
1820 GOTO 1760
1830 IF LEN(I$)>1 THEN I$=RIGHT$(I$,1):IF I$=CHR$(72) THEN I$="-" ELSE IF I$=CHR$(80) THEN I$=CHR$(13)
1840 IF I$<>CHR$(13) THEN 1880
1850 LC=LC+1:IF LC>6 THEN LC=1
1860 IF LC<1 THEN LC=6
1870 GOSUB 2270:RETURN
1880 IF I$="-" THEN LC=LC-1:GOTO 1860
1890 ON LC GOSUB 1900,1910,1920,2070,2080,2090,2210:GOSUB 2270:RETURN
1900 IF I$<>" " THEN RETURN ELSE TICK=0-ABS(TICK+1):RETURN
1910 IF I$<>" " THEN RETURN ELSE BELL=0-ABS(BELL+1):RETURN
1920 IF I$<"0" OR I$>"9" THEN RETURN
1930 NEWTIME$="":IF I$>="0" OR I$<="9" THEN 1950 ELSE LOCATE 19,16:PRINT" ";
1940 I$=INKEY$
1950 X$=TIME$:CTH=2*R:CTV=CTH:IF NOT ATT THEN CTV=R
1960 X$=TIME$:IF X$<>OLDTIME$ THEN OLDX$=OLDTIME$:OLDTIME$=X$:GOSUB 720
1970 IF I$="" THEN 1940
1980 IF (I$>="0" AND I$<="9") OR I$=":" THEN NEWTIME$=NEWTIME$+I$:LOCATE 19,16:PRINT NEWTIME$;" ";
1990 IF I$=CHR$(27) THEN I$="":LOCATE 23,1:PRINT SPACE$(79);:RETURN
2000 IF I$<>CHR$(13) THEN 1940
2010 IF NEWTIME$="" THEN RETURN
2020 IF LEN(NEWTIME$)=4 AND MID$(NEWTIME$,2,1)=":" THEN NEWTIME$="0"+NEWTIME$
2030 IF LEN(NEWTIME$)>5 THEN NEWTIME$=LEFT$(NEWTIME$,5)
2040 IF MID$(NEWTIME$,3,1)<>":" OR LEN(NEWTIME$)>5 THEN BEEP:LOCATE 23,1:PRINT"Invalid time format (##:##). Try again or hit return to leave time unchanged";:GOTO 1920
2050 TIME$=NEWTIME$
2060 IF LEFT$(NEWTIME$,2)<="12" THEN AM=-1 ELSE AM=0
2070 IF I$<>" " THEN RETURN ELSE MODE=0-ABS(MODE+1):RETURN
2080 IF I$<>" " THEN RETURN ELSE ALARM=0-ABS(ALARM+1):RETURN
2090 IF I$<"0" OR I$>"9" THEN RETURN
2100 NEWALARM$="":IF I$>="0" OR I$<="9" THEN 2120 ELSE LOCATE 18,58:PRINT " ";
2110 I$=INKEY$
2120 X$=TIME$:CTH=2*R:CTV=CTH:IF NOT ATT THEN CTV=R
2130 X$=TIME$:IF X$<>OLDTIME$ THEN OLDX$=OLDTIME$:OLDTIME$=X$:GOSUB 720
2140 IF I$="" THEN 2110
2150 IF (I$>="0" AND I$<="9") OR I$=":" THEN NEWALARM$=NEWALARM$+I$:LOCATE 18,58:PRINT NEWALARM$;" ";
2160 IF I$=CHR$(27) THEN I$="":LOCATE 23,1:PRINT SPACE$(79);:RETURN
2170 IF I$<>CHR$(13) THEN 2110
2180 IF NEWALARM$="" THEN RETURN
2190 IF LEN(NEWALARM$)=4 AND MID$(NEWALARM$,2,1)=":" THEN NEWALARM$="0"+NEWALARM$
2200 IF LEN(NEWALARM$)>5 THEN NEWALARM$=LEFT$(NEWALARM$,5)
2210 IF MID$(NEWALARM$,3,1)<>":" THEN BEEP:LOCATE 23,1:PRINT"Invalid time format (##:##). Try again or hit return to leave time unchanged";:GOTO 2090
2220 TMP=0:X$=NEWALARM$+":00":OLDX$=OLDALM$+":00":CTH=640-(R*2):CTV=R*2:IF NOT ATT THEN CTV=R